package com.ksd.modules.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ksd.commons.IBaseService;
import com.ksd.modules.system.entity.AdminSystem;
import com.ksd.modules.system.po.AdminSystemSavePO;
import com.ksd.modules.system.po.AdminSystemSearchPO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Auto Generator
 * @since 2023-08-16
 */
public interface IAdminSystemService extends IBaseService<AdminSystem> {


    /**
     * 统计系统
     * @return
     */
    long countSystem();

    /**
     * 查询账号和密码是否正确
     * @param id
     * @param password
     * @return
     */
    Boolean selectSystemPassword(Long id, String password);


    /**
     * 查询所有的打开的系统
     * @return
     */
    List<AdminSystem> findAdminSystemAll();

    /**
     * 查询平台设置接口搜索并分页
     * @return
     */
    Page<AdminSystem> findAdminSystem(AdminSystemSearchPO adminSystemSearchPO);


    /**
     * 保存平台设置
     */
    boolean saveUpdateAdminSystem(AdminSystemSavePO adminSystemSavePO);

    /**
     * 删除平台设置
     * @param id
     * @return
     */
    boolean deleteAdminSystemById(Long id);


    /**
     * 根据id获取平台设置信息
     * @param id
     * @return
     */
    AdminSystem getAdminSystemById(Long id);


    /**
     * 查询默认系统
     * @return
     */
    AdminSystem getAdminSystemDefault();

    /**
     * 修改默认
     * @param id
     * @return
     */
    boolean updateStatusDefault(Long id);

    // 状态修改
    boolean updateStatus(Long id,String column,Integer value);
    boolean updateStatusStr(Long id,String column,String value);
}
